1. Field of the Invention
The present invention relates to a disk drive having optimized access time in performing a track seeking operation, and more particularly, a disk drive and method for selecting a seek profile and settle criteria based on a queued or non-queued environment for optimizing data access time in a disk drive.
2. Description of the Art
Hard disk drives store large volumes of data on one or more disks mounted on a spindle assembly. The spindle assembly includes a spindle motor for rotating the disks at a substantially constant angular velocity. Disk drives employ a disk control system for interfacing with a host (e.g., a computer) to control the reading and writing of data on a disk. Each disk includes up to two disk surfaces which are capable of storing data. On each disk surface, user data is stored in concentric circular tracks between an outside diameter and an inside diameter of the disk. Servo systems are employed to maintain alignment of a transducer head with a desired target data track (termed "track following"), for reading and writing user data on the disk surface within desired control parameters.
Embedded servo systems store servo data on the same disk surface as user data to provide control signals and information employed in the operation of the servo system. User data on the disk surface is divided into groups of data sectors. Embedded servo information is recorded in servo sectors placed in arcuate, radially continuous narrow wedges between the groups of data sectors. In this regard, servo sectors are commonly referred to as "servo wedges". For example, a concentric data track may include 60 equally spaced servo sectors with data regions (i.e., a region containing data sectors, groups of data sectors or partial data sectors) located between adjacent pairs of servo sectors.
Each servo sector includes fields containing track identification used in track seeking operations and tracking information used in track following operations. For example, the track identification information may include track number or address and sector number, and the tracking information may include automatic gain control (AGC) and phase lock oscillator information (PLO), timing information (e.g. a servo sync word) and servo burst information for positioning a transducer head over the disk surface. The fields are defined by transitions written on the disk surface in patterns readable by the servo system. During execution of a command to read or write data to a target data sector on the disk surface, servo information is sampled as the servo sectors pass under the associated transducer head. Sector timing is maintained by detecting a timing field within each servo sector.
One measure of performance of a hard disk drive is its data access time. To maximize performance of a disk drive, it is desirable to minimize data access time, including the time required to move the disk drive actuator from a current data track to the "target" data track. The process of moving a head from a current track position to a desired or target track position is known as a "seek". The disk drive includes a servo system that is utilized both to seek to a selected target track and thereafter follow the target track on the disk. A seek to a selected target track is commonly made in accordance with a profile of command effort to the actuator for a respective seek distance, which is stored in memory and accessible by the servo system controller.
The seek profile can be described in terms of acceleration, velocity, or position. A seek profile (described in terms of velocity) can include three components; an acceleration profile, an optional coast profile, and a deceleration profile. The acceleration profile (typically, but not necessarily set to the maximum acceleration permitted by the hardware) involves the initial portion of the seek when the actuator is gaining speed. The coast profile, which may or may not be used, holds the velocity substantially constant at some predetermined velocity. The deceleration profile ends with both acceleration and velocity close to zero as the head approaches the target track.
In FIGS. 1-4, sample idealized acceleration and velocity seek profiles for two prior art seeks for a given distance are shown. Referring to FIGS. 1 and 2, acceleration and velocity profiles graphically illustrate a first prior art seek operation. In FIG. 1, the actuator is commanded to accelerate at time T0. This acceleration is maintained until the velocity of the actuator reaches a peak value VCREST, shown in FIG. 2. This occurs at time Tswitch. The actuator is then commanded to decelerate, until time Tend at which time the deceleration and velocity are brought back to zero, and the head is positioned at the target track.
Referring to FIGS. 3 and 4, acceleration and velocity profiles graphically illustrate another prior art seek operation in which a coast period is used. As illustrated, at time T0 the actuator is commanded to accelerate. This acceleration is held until the actuator reaches maximum velocity VCREST at time Tm, where Tm is the length of time required to reach maximum velocity. In this example, the maximum velocity VCREST is held (in a "coast" mode) until time Tn at which time the actuator is commanded to decelerate so that the velocity decreases to zero at time Tend.
The velocity profiles illustrated in FIGS. 2 and 4 are idealized profiles in which the head velocity reaches zero at time Tend. It is understood in the art that many variables, including resonant modes of the actuator and stored energy in the actuator, prevent a precise correction of actuator velocity which would result in the head landing exactly on track at the conclusion of the seek. These variables may cause the head to overshoot the target track. In any event, a settling period is required to position the head within an acceptable range of the target track center. The settling period adds to the total time of the seek operation and may be extended or reduced according to the shape of the applied seek profile (e.g., a more aggressive, or faster profile will cause larger and longer residual vibrations). The settling period is defined by settling criteria which may include a window of proximity to the target track and a number of servo samples indicating that the head is within the window.
Disk drives are capable of storing large amounts of data in part due to a corresponding high density of data tracks on the disk. As such, the heads must be closely aligned with the target track for reading and/or writing of data without error. Off track thresholds or windows are defined about the tracks which are required to define completion of the seek. These can be termed a settle window (e.g., a read settle window and a write settle window).
A hard disk drive may at any given time be operating in a queued or non-queued environment for processing command instructions received from a host. In a typical queued environment, the host issues a sequence of commands to the disk drive interface processor. There may in fact be a barrage of such command sequences sent to the disk drive during particular periods of host activity. The interface processor places the commands in one or more queues for execution and typically employs a command re-ordering algorithm which sorts the commands into an order of execution which will optimize disk drive performance and reduce disk drive latency.
By contrast with the queued environment, the typical non-queued environment is indicated when commands are received and executed without re-ordering. This may occur when queuing is disabled by the host, or when commands are issued in sequences or with restrictions which permit or require the disk to complete execution of each command before proceeding to the next. In any event, the interface processor makes a determination of whether the disk drive is presently operating in one or the other of a queued or non-queued environment.
For delayed write commands, i.e. write commands which are stored in the cache and treated as complete even though not yet written to the media, a special case may occur where the interface processor treats the commands as being executed in a queued environment even when otherwise in a non-queued environment.
While in the queued environment, the disk drive relies on a predictable arrival of the actuator at the location at which data transfer is to occur. The arrival is typically forecast at a servo wedge level, identifying a servo wedge which precedes the target data location. For predictable execution of each ordered command, the time to seek, settle and verify the location by the preceding servo wedge is taken into account. Rotational latency once the head arrives on track is also a factor in optimization. For example for shorter distances, the command re-ordering process may select an apparently more distant track over a less distant track based on the relative rotational position of a target data sector upon arrival at the target track.
In particular, each ordered queued command has a calculated time window in which to seek to the target track, settle, and execute the desired command before seeking to the next target track. If the disk drive is not sufficiently settled in order to perform the desired operation within the desired time window, the disk may have to wait for an unplanned revolution for the target data sector to be positioned below the actuator head to execute the desired command, thus impacting disk drive performance.
Increased aggressiveness in the seek profile can result in faster moves at the expense of settle consistency. Moving faster excites more residual vibrations in the system during the settle and also may make the controller estimator more prone to error during the deceleration phase of the seek. Known systems utilize the same seek profile to position the head for a given seek distance regardless of whether they are executing a queued or non-queued command. The seek profiles tend to be less aggressive in order to guarantee predictable performance during execution of commands in a queued environment, while maintaining a level of raw seek performance. A need exists therefore for a disk drive which efficiently manages positioning an actuator in both a queued and a non-queued environment.